Smart-device-based radar system performing angular estimation using machine learning

ABSTRACT

Techniques and apparatuses are described that implement a smart-device-based radar system capable of performing angular estimation using machine learning. In particular, a radar system 102 includes an angle-estimation module 504 that employs machine learning to estimate an angular position of one or more objects (e.g., users). By analyzing an irregular shape of the radar system 102&#39;s spatial response across a wide field of view, the angle-estimation module 504 can resolve angular ambiguities that may be present based on the angle to the object or based on a design of the radar system 102 to correctly identify the angular position of the object. Using machine-learning techniques, the radar system 102 can achieve a high probability of detection and a low false-alarm rate for a variety of different antenna element spacings and frequencies.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.62/653,307 filed 5 Apr. 2018, the disclosure of which is herebyincorporated by reference in its entirety herein.

BACKGROUND

Radars are useful devices that can detect and track objects. While radaris a common tool used in military and air-traffic-control operations,technological advances are making it possible to integrate radars inconsumer devices. In many cases, a radar may replace bulky and expensivesensors, such as a camera, and provide improved performance in thepresence of different environmental conditions, such as low lighting andfog, or with moving or overlapping objects. While it may be advantageousto use the radar, there are many challenges associated with integratingthe radar in consumer devices.

One such problem involves restrictions that a smaller consumer devicemay place on a radar antenna's design. To satisfy size or layoutconstraints, for example, fewer antenna elements and larger or smallerantenna element spacings may be used. This may cause angularambiguities, which make it challenging for the radar to estimate anangular position of an object. If the radar is unable to determine theobject's location, effective operation and capability of the radar issignificantly reduced. This can lead to user frustration or limit thetypes of applications or environments that the radar can support.

SUMMARY

Techniques and apparatuses are described that implement asmart-device-based radar system capable of performing angular estimationusing machine learning. In particular, a radar system includes anangle-estimation module that employs machine learning to estimate anangular position of one or more objects (e.g., users). Theangle-estimation module generates angular probability data based on aunique angular signature of the object. The angular probability datacomprises a probability distribution of the angular position of the oneor more objects across two or more angular bins. By analyzing anirregular shape of the radar system's spatial response across a widefield of view, the angle-estimation module can resolve angularambiguities that may be present based on the angle to the object orbased on a design of the radar system to correctly identify the angularposition of the object.

The angular estimation module is implemented by a machine-learnedmodule, which can include a neural network, a convolutional neuralnetwork, a long short-term memory network, or a combination thereof. Insome cases, the machine-learned module also implements a digitalbeamformer, a tracker module, or a quantization module to improveangular estimation performance of the radar system. The machine-learnedmodule can be tailored to various smart devices, which may havedifferent amounts of available power, computational capability, memory,radar antenna configurations, radar-based applications, and so forth.With machine-learning techniques, the radar system can achieve a highprobability of detection and a low false-alarm rate for a variety ofdifferent antenna element spacings and frequencies.

Aspects described below include a smart device with a radar system. Theradar system includes an antenna array, a transceiver, a digitalbeamformer, and an angle-estimation module. The transceiver is coupledto the antenna array and is configured to transmit and receive a radarsignal via the antenna array. The radar signal is reflected by at leastone object. The digital beamformer is coupled to the transceiver and isconfigured to generate beamforming data based on the received radarsignal. The angle-estimation module is coupled to the digital beamformerand is configured to generate, using machine learning, angularprobability data based on the beamforming data. The angular probabilitydata comprises a probability distribution of an angular position of theat least one object.

Aspects described below also include a method for performing operationsof a smart-device-based radar system capable of performing angularestimation using machine learning. The method includes transmitting andreceiving a radar signal via an antenna array. The radar signal isreflected by at least one object. The method also includes generatingbeamforming data based on the received radar signal. Using machinelearning, the method includes analyzing the beamforming data todetermine a probability distribution of an angular position of the atleast one object across two or more angular bins. The method furtherincludes determining that an angular bin of the two or more angular binsis associated with the angular position of the at least one object basedon the probability distribution.

Aspects described below include a computer-readable storage mediacomprising computer-executable instructions that, responsive toexecution by a processor, implement an angle-estimation module and atracker module. The angle-estimation module is configured to acceptbeamforming data associated with a received radar signal that isreflected by at least one object. The angle-estimation module is alsoconfigured to generate, using machine learning, angular probability databased on the beamforming data. The angular probability data comprises aprobability distribution of an angular position of the at least oneobject. The tracker module is configured to determine the angularposition of the at least one object based on the probabilitydistribution.

Aspects described below also include a system with machine-learningmeans for performing angular estimation based on a received radarsignal.

BRIEF DESCRIPTION OF THE DRAWINGS

Apparatuses for and techniques implementing a smart-device-based radarsystem capable of performing angular estimation using machine learningare described with reference to the following drawings. The same numbersare used throughout the drawings to reference like features andcomponents:

FIG. 1 illustrates example environments in which a smart-device-basedradar system capable of performing angular estimation using machinelearning can be implemented.

FIG. 2 illustrates an example angular ambiguity that can be resolvedusing machine learning.

FIG. 3 illustrates example amplitude and phase plots of a spatialresponse for two angular positions of an object.

FIG. 4 illustrates an example implementation of a radar system as partof a smart device.

FIG. 5 illustrates an example scheme implemented by a radar system forperforming angular estimation using machine learning.

FIG. 6-1 illustrates an example scheme implemented by a digitalbeamformer for performing angular estimation using machine learning.

FIG. 6-2 illustrates another example scheme implemented by a digitalbeamformer for performing angular estimation using machine learning.

FIG. 7 illustrates an example neural network for performing angularestimation using machine learning.

FIG. 8 illustrates an example convolutional neural network forperforming angular estimation using machine learning.

FIG. 9 illustrates an example suite of machine-learned modules that canperform angular estimation for a variety of smart devices.

FIG. 10 illustrates an example computationally-conservativemachine-learned module.

FIG. 11 illustrates an example power-conservative machine-learnedmodule.

FIG. 12 illustrates an example computationally-intensive andpower-intensive machine-learned module.

FIG. 13 illustrates an example method for performing operations of asmart-device-based radar system capable of performing angular estimationusing machine learning.

FIG. 14 illustrates an example computing system embodying, or in whichtechniques may be implemented that enable use of, a radar system capableof performing angular estimation using machine learning.

DETAILED DESCRIPTION Overview

This document describes techniques and devices that implement asmart-device-based radar system capable of performing angular estimationusing machine learning. Conventional angular estimation techniquesidentify an angular position of an object based on a directioncorresponding to a highest detected peak amplitude. This is possiblebecause conventional radar systems use antenna arrays and wavelengthsthat minimize angular ambiguities (e.g., antenna element spacings thatare approximately half of the wavelength). Antenna element spacings thatare smaller or larger than half of the wavelength, however, cansignificantly increase angular ambiguity. Consequently, it becomeschallenging to determine the angular position of the object.

To further avoid angular ambiguities, other conventional techniquesconstrain a field of view, which represents a range of angles that areconsidered possible for the object's angular position. By limiting thefield of view, conventional techniques can avoid an ambiguous zone,which has angular ambiguities, and thereby reduce false detections.Limiting the field of view, however, reduces a range of angles that aradar system can monitor to detect the object. As an example, angularambiguities can be avoided for a wavelength of 5 millimeters (mm) and anelement spacing of 3.5 mm (e.g., the element spacing being 70% of thewavelength) if the field of view is limited to angles betweenapproximately −45 degrees to 45 degrees. Consequently, the radar systemmay be unable to detect objects that are beyond the 45-degree limits,which can significantly limit the capability of the radar system.

Incorporating radar sensors within smart devices can constrain a designof the radar sensor. As a result, angular ambiguities may be presentbased on the antenna element spacing and field of view. Furthermore, forwide-band radars that are capable of transmitting and receiving radarsignals using a wide range of wavelengths, the element spacing may notbe optimal for each of the different wavelengths, thereby causing someradar signals to be more susceptible to angular ambiguities than others.

Instead of using conventional signal-processing techniques, thedescribed techniques implement a smart-device-based radar system capableof performing angular estimation using machine learning. In particular,a radar system includes an angle-estimation module that employs machinelearning to estimate an angular position of one or more objects (e.g.,users). The angle-estimation module generates angular probability databased on a unique angular signature of the object. The angularprobability data comprises a probability distribution of the angularposition of the one or more objects across two or more angular bins. Togenerate the angular probability data, the angle-estimation moduleanalyzes an irregular shape of the radar system's beamforming dataacross a wide field of view, and resolves angular ambiguities that maybe present based on the angle to the object or based on a design of theradar system to assign a high probability to an angular bin thatcorresponds to the angular position of the object.

The angular estimation module is implemented by a machine-learnedmodule, which can include a neural network, a convolutional neuralnetwork, a long short-term memory network, or a combination thereof. Insome cases, the machine-learned module also implements a digitalbeamformer, a tracker module, or a quantization module to improveangular estimation performance of the radar system. The machine-learnedmodule can be tailored to various smart devices, which may havedifferent amounts of available power, computational capability, memory,radar antenna configurations, radar-based applications, and so forth.With machine-learning techniques, the radar system can achieve a highprobability of detection and a low false-alarm rate for a variety ofdifferent antenna element spacings and frequencies.

Example Environment

FIG. 1 is an illustration of example environments 100-1 to 100-6 inwhich techniques using, and an apparatus including, a smart-device-basedradar system capable of performing angular estimation using machinelearning may be embodied. In the depicted environments 100-1 to 100-6, asmart device 104 includes a radar system 102 capable of estimatingangles to one or more objects (e.g., users) using machine learning. Thesmart device 104 is shown to be a smart phone in environments 100-1 to100-5 and a steering wheel in the environment 100-6.

In the environments 100-1 to 100-4, a user performs different types ofgestures, which are detected by the radar system 102. For example, theuser in environment 100-1 makes a scrolling gesture by moving a handabove the smart device 104 along a horizontal dimension (e.g., from aleft side of the smart device 104 to a right side of the smart device104). In the environment 100-2, the user makes a reaching gesture, whichdecreases a distance between the smart device 104 and the user's hand.The users in environment 100-3 make hand gestures to play a game on thesmart device 104. In one instance, a user makes a pushing gesture bymoving a hand above the smart device 104 along a vertical dimension(e.g., from a bottom side of the smart device 104 to a top side of thesmart device 104). In the environment 100-4, the smart device 104 isstored within a purse and the radar system 102 provides occluded-gesturerecognition by detecting gestures that are occluded by the purse.

The radar system 102 can also recognize other types of gestures ormotions not shown in FIG. 1 . Example types of gestures include, aknob-turning gesture in which a user curls their fingers to grip animaginary door knob and rotate their fingers and hand in a clockwise orcounter-clockwise fashion to mimic an action of turning the imaginarydoor knob. Another example type of gesture includes a spindle-twistinggesture, which a user performs by rubbing a thumb and at least one otherfinger together. The gestures can be two-dimensional, such as thoseusable with touch-sensitive displays (e.g., a two-finger pinch, atwo-finger spread, or a tap). The gestures can also bethree-dimensional, such as many sign-language gestures, e.g., those ofAmerican Sign Language (ASL) and other sign languages worldwide. Upondetecting each of these gestures, the smart device 104 can perform anaction, such as display new content, move a cursor, activate one or moresensors, open an application, and so forth. In this way, the radarsystem 102 provides touch-free control of the smart device 104.

In the environment 100-5, the radar system 102 generates athree-dimensional map of a surrounding environment for contextualawareness. The radar system 102 also detects and tracks multiple usersto enable both users to interact with the smart device 104. The radarsystem 102 can also perform vital-sign detection. In the environment100-6, the radar system 102 monitors vital signs of a user that drives avehicle. Example vital signs include a heart rate and a respirationrate. If the radar system 102 determines that the driver is fallingasleep, for instance, the radar system 102 can cause the smart device104 to alert the user. Alternatively, if the radar system 102 detects alife-threatening emergency, such as a heart attack, the radar system 102can cause the smart device 104 to alert a medical professional oremergency services.

Some implementations of the radar system 102 are particularlyadvantageous as applied in the context of smart devices 104, for whichthere is a convergence of issues. This can include a need forlimitations in a spacing and layout of the radar system 102 and lowpower. Exemplary overall lateral dimensions of the smart device 104 canbe, for example, approximately eight centimeters by approximatelyfifteen centimeters. Exemplary footprints of the radar system 102 can beeven more limited, such as approximately four millimeters by sixmillimeters with antennas included. Exemplary power consumption of theradar system 102 may be on the order of a few milliwatts to tens ofmilliwatts (e.g., between approximately two milliwatts and twentymilliwatts). The requirement of such a limited footprint and powerconsumption for the radar system 102 enables the smart device 104 toinclude other desirable features in a space-limited package (e.g., acamera sensor, a fingerprint sensor, a display, and so forth).

To integrate the radar system 102 within the smart device 104, anarrangement of antenna elements within the radar system 102 can be basedon a physical size or layout of the smart device 104. In some cases, thearrangement of the antenna elements may cause angular ambiguities to bepresent, which are further described with respect to FIG. 2 .

FIG. 2 illustrates an example angular ambiguity that can be resolvedusing machine learning. In the depicted environment 200-1, the radarsystem 102 searches for an object 202 by steering a main lobe 204 of anantenna pattern via digital beamforming techniques. Digital beamformingenables responses from each receiving antenna element to be digitallycombined to form multiple simultaneous beams. Generally speaking, themultiple simultaneous beams represent different steering angles 206 ofthe main lobe 204. A steering angle 206-1, for example, can include atwo-dimensional angular direction of the main lobe 204 having an azimuthcomponent and an elevation component.

Although not shown in the environment of 200-1, the antenna patternincludes additional undesired lobes (e.g., a sidelobe or a grating lobe)that can be directed towards the object 202 for different steeringangles 206. In general, the sidelobe has an amplitude response that islower than the main lobe 204, and the grating lobe, which is a type ofsidelobe, has an amplitude response relatively similar to the main lobe204. Example sidelobes 214-1 and 214-2 are shown in environment 200-2.While conventional techniques may design the radar system 102's antennaarray to increase an amplitude difference between the main lobe 204 andthe sidelobes 214 or decrease a quantity of grating lobes within thefield of view, these techniques may not be possible based on imposeddesign constraints for integrating the radar system 102 within the smartdevice 104. Consequently, if the main lobe 204 is steered in anotherdirection away from the object 202, as shown in the environment 200-2via steering angle 206-2, the sidelobe 214-1 becomes unintentionallydirected towards the object 202.

The multiple beams that are formed via digital beamforming produce aspatial response 210, which includes amplitude and phase information fordifferent steering angles 206. In FIG. 2 , the amplitude information isshown in the spatial response 210 via different shadings. A darker shadeindicates a higher amplitude and a lighter shade indicates a loweramplitude. The spatial response 210 includes multiple peak amplitudeswithin the field of view 212; one at the steering angle 206-1 andanother at the steering angle 206-2. Assuming the amplitudes at thesetwo steering angles 206 are relatively similar (e.g., withinapproximately ten decibels), conventional techniques cannot distinguishbetween whether the object 202 is positioned at the steering angle 206-1or the steering angle 206-2 (e.g., an amplitude difference between thetwo steering angles 206-1 and 206-2 is insufficient for determining theobject 202's angular position). This can further lead conventional radarsystems to incorrectly determine that there are additional objects inthe environment (e.g., cause false detections) or incorrectly identifythe position of the object 202 as corresponding to the steering angle206-2.

Because multiple steering angles 206 can have large amplitudes for asingle object 202, determining which amplitude corresponds to the object202 is the challenge that radar angular estimation using machinelearning addresses. Instead of solely considering a highest amplitude,the machine learning analyzes a shape of the spatial response 210 acrossthe field of view 212. In this case, the field of view 212 includes theambiguous zone to enable differences in amplitudes or phases to beconsidered across additional angles. Assuming a center wavelength of 5millimeters (mm) and an element spacing of 3.5 mm, the field of view 212can include angles beyond −45 degrees and 45 degrees (e.g., the field ofview used by conventional techniques). The field of view 212, forexample, can include angles between approximately −90 degrees to 90degrees, or up to approximately −180 degrees and 180 degrees. Theseangular ranges can also be applied across one or more angular dimensions(e.g., azimuth and/or elevation). Analyzing the shape of the spatialresponse 210 to estimate the angular position of the object 202 isfurther explained with respect to FIG. 3 .

FIG. 3 illustrates example amplitude and phase plots of the spatialresponse 210 for two angular positions of the object 202. The amplitudeplot 302 (e.g., amplitude response) and the phase plot 304 (e.g., phaseresponse) respectively depict amplitude and phase differences that canoccur for different angular positions of the object and for differentsteering angles 206. A first amplitude response 306-1 and a first phaseresponse 308-1 are shown for the object 202 positioned at a firstangular position 310-1. Likewise, a second amplitude response 306-1 anda second phase response 308-2 are shown for the object 202 positioned ata second angular position 310-2. In this example, the differences areconsidered across angles between −180 degrees and 180 degrees.

As shown in the amplitude plot 302, an ambiguous zone exists for the twoangular positions 310-1 and 310-2. In this example, the first amplituderesponse 306-1 (shown via the solid line) has a highest peak at thefirst angular position 310-1 and a lesser peak at the second angularposition 310-2. While the highest peak corresponds to the actualposition of the object 202, the lesser peak causes the angular positionof the object 202 to be ambiguous. In contrast, the second amplituderesponse 306-2 (shown via the dotted-line) has a lesser peak at thesecond angular position 310-2 and a higher peak at the first angularposition 310-1. In this case, the lesser peak corresponds to the object202's location and the higher peak causes the angular position of theobject 202 to be ambiguous.

Both of these amplitude responses 306-1 and 306-2 illustrate differentangular ambiguities that can be solved by analyzing subtle differencesin the shapes of the amplitude responses 306 using machine learning.Characteristics of the shape can include, for example, the roll-offs,peak or null widths, angular location of the peaks or nulls, and/or theheight or depth of the peaks and nulls. In general, the peaks and nullsoccur where a derivative of the amplitude response is zero. Thecharacteristics of the shape can also be associated with a sidelobe,which represents another peak that has less amplitude than a highestpeak within the field of view. Additional shape characteristics can alsobe considered, such as symmetry, or the lack of symmetry. Similar shapecharacteristics can be analyzed in the phase plot 304. The shapes of thephase responses 308-1 and 308-2 can provide additional information fordistinguishing the actual location of the object 202. Based on theseanalyzed shapes, the angular position of the object 202 can bedetermined. Some of the peaks and nulls are identified in the amplitudeplot 302 and the phase plot 304 of FIG. 3 . Because it is challenging todesign closed-form signal-processing algorithms that can analyze theseirregular shapes, the described techniques use machine learning to mapthese unique angular responses or patterns to different angularpositions of the object.

In more detail, consider FIG. 4 , which illustrates the radar system 102as part of the smart device 104. The smart device 104 is illustratedwith various non-limiting example devices including a desktop computer104-1, a tablet 104-2, a laptop 104-3, a television 104-4, a computingwatch 104-5, computing glasses 104-6, a gaming system 104-7, a microwave104-8, and a vehicle 104-9. Other devices may also be used, such as ahome service device, a smart speaker, a smart thermostat, a securitycamera, a baby monitor, a router, a drone, a track pad, a drawing pad, anetbook, an e-reader, a home-automation and control system, a walldisplay, and another home appliance. Note that the smart device 104 canbe wearable, non-wearable but mobile, or relatively immobile (e.g.,desktops and appliances). The radar system 102 can be used as astand-alone radar system or used with, or embedded within, manydifferent smart devices 104 or peripherals, such as in control panelsthat control home appliances and systems, in automobiles to controlinternal functions (e.g., volume, cruise control, or even driving of thecar), or as an attachment to a laptop computer to control computingapplications on the laptop.

The smart device 104 includes one or more computer processors 402 andcomputer-readable media 404, which includes memory media and storagemedia. Applications and/or an operating system (not shown) embodied ascomputer-readable instructions on the computer-readable media 404 can beexecuted by the computer processor 402 to provide some of thefunctionalities described herein. The computer-readable media 404 alsoincludes a radar-based application 406, which uses radar data generatedby the radar system 102 to perform a function, such as presencedetection, gesture-based touch-free control, collision avoidance forautonomous driving, human vital-sign notification, and so forth.

The smart device 104 may also include a network interface 408 forcommunicating data over wired, wireless, or optical networks. Forexample, the network interface 408 may communicate data over alocal-area-network (LAN), a wireless local-area-network (WLAN), apersonal-area-network (PAN), a wire-area-network (WAN), an intranet, theInternet, a peer-to-peer network, point-to-point network, a meshnetwork, and the like. The smart device 104 may also include a display(not shown).

The radar system 102 includes a communication interface 410 to transmitthe radar data to a remote device, though this need not be used when theradar system 102 is integrated within the smart device 104. In general,the radar data provided by the communication interface 410 is in aformat usable by the radar-based application 406.

The radar system 102 also includes at least one antenna array 412 and atleast one transceiver 414 to transmit and receive the radar signal 208.The antenna array 412 includes at least one transmit antenna element andat least two receive antenna elements. In some situations, the antennaarray 412 includes multiple transmit antenna elements to implement amultiple-input multiple-output (MIMO) radar capable of transmittingmultiple distinct waveforms at a given time (e.g., a different waveformper transmit antenna element). The antenna elements can be circularlypolarized, horizontally polarized, vertically polarized, or acombination thereof.

The receive antenna elements of the antenna array 412 can be positionedin a one-dimensional shape (e.g., a line) or a two-dimensional shape(e.g., a rectangular arrangement, a triangular arrangement, or an “L”shape arrangement) for implementations that include three or morereceive antenna elements. The one-dimensional shape enables the radarsystem 102 to measure one angular dimension (e.g., an azimuth or anelevation) while the two-dimensional shape enables the radar system 102to measure two angular dimensions (e.g., to determine both an azimuthangle and an elevation angle of the object 202). An element spacingassociated with the receive antenna elements can be less than, greaterthan, or equal to half a center wavelength of the radar signal 208.

Using the antenna array 412, the radar system 102 can form beams thatare steered or un-steered, wide or narrow, or shaped (e.g., hemisphere,cube, fan, cone, cylinder). The steering and shaping can be achievedthrough digital beamforming. The one or more transmitting antennaelements can have an un-steered omnidirectional radiation pattern or canproduce a wide steerable beam to illuminate a large volume of space. Toachieve target angular accuracies and angular resolutions, the receivingantenna elements can be used to generate hundreds or thousands of narrowsteered beams with digital beamforming. In this way, the radar system102 can efficiently monitor an external environment and detect one ormore users.

The transceiver 414 includes circuitry and logic for transmitting andreceiving radar signals 208 via the antenna array 412. Components of thetransceiver 414 can include amplifiers, mixers, switches,analog-to-digital converters, filters, and so forth for conditioning theradar signals 208. The transceiver 414 also includes logic to performin-phase/quadrature (I/Q) operations, such as modulation ordemodulation. A variety of modulations can be used, including linearfrequency modulations, triangular frequency modulations, steppedfrequency modulations, or phase modulations. Alternatively, thetransceiver 414 can produce radar signals 208 having a relativelyconstant frequency or a single tone. The transceiver 414 can beconfigured to support continuous-wave or pulsed radar operations.

A frequency spectrum (e.g., range of frequencies) that the transceiver414 can use to generate the radar signals 208 can encompass frequenciesbetween 1 and 400 GHz, between 4 and 100 GHz, between 1 and 24 GHz,between 2 and 4 GHz, between 57 and 63 GHz, or at approximately 2.4 GHz.In some cases, the frequency spectrum can be divided into multiplesub-spectrums that have a similar or different bandwidths. Thebandwidths can be on the order of 500 megahertz (MHz), one gigahertz(GHz), two gigahertz, and so forth. Different frequency sub-spectrumsmay include, for example, frequencies between approximately 57 and 59GHz, 59 and 61 GHz, or 61 and 63 GHz. Although the example frequencysub-spectrums described above are contiguous, other frequencysub-spectrums may not be contiguous. To achieve coherence, multiplefrequency sub-spectrums (contiguous or not) that have a same bandwidthmay be used by the transceiver 414 to generate multiple radar signals208, which are transmitted simultaneously or separated in time. In somesituations, multiple contiguous frequency sub-spectrums may be used totransmit a single radar signal 208, thereby enabling the radar signal208 to have a wide bandwidth.

The radar system 102 also includes one or more system processors 416 anda system media 418 (e.g., one or more computer-readable storage media).The system media 418 includes a frequency selection module 420, whichselects the one or more frequency sub-spectrums that are used totransmit the radar signal 208. In some cases, the frequency sub-spectrumis selected based on the receive antenna element spacing to increase theamplitude and phase differences between at least two different steeringangles 206 compared to another frequency sub-spectrum. In general, thefrequency sub-spectrums that are selected enhance and emphasize thedifferences, thereby making it easier to resolve angular ambiguities viamachine learning. Two example frequency selection techniques includesingle-frequency sub-spectrum selection and multiple-frequencysub-spectrum, which are further described below.

For single-frequency sub-spectrum selection, the frequency selectionmodule 420 chooses one of the frequency sub-spectrums that reduces aquantity or amplitude of the sidelobes 214. The amplitude may bereduced, for example, by half a decibel, one decibel, or more. In somecases, the frequency sub-spectrum is chosen based on a known antennaelement spacing, which can be stored in the system media 418 of theradar system 102 or the computer-readable media 404 of the smart device104. Single-frequency sub-spectrum selection is further described withrespect to FIG. 6-1 .

For multiple-frequency sub-spectrum selection, the frequency selectionmodule 420 chooses at least two frequency sub-spectrums for transmittingthe radar signal 208. In this situation, the frequency sub-spectrumsthat are selected have a same bandwidth for coherence. The multiplefrequency sub-spectrums can be transmitted simultaneously or separatedin time using a single radar signal 208 or multiple radar signals 208.The selected frequency sub-spectrums may be contiguous ornon-contiguous. Contiguous frequency sub-spectrums enable the radarsignal 208 to have a wider bandwidth and non-contiguous frequencysub-spectrums can further emphasize the amplitude and phase differencesbetween different steering angles 206.

The multiple-frequency sub-spectrum selection enables differentdistributions of the angular ambiguities to be realized for differentfrequency sub-spectrums. While shapes and characteristics of the angularambiguities may change based on the frequency sub-spectrum, a main peakthat is associated with the object 202 remains with a similar shapeacross different frequency sub-spectrums. Generally speaking, thefarther the frequency sub-spectrums are separated with respect to oneanother, the easier it is for the machine learning to resolve theangular ambiguities. A quantity of frequency sub-spectrums can bedetermined based on a target angular accuracy or computationallimitations of the radar system 102. The frequency selection module 420causes the transceiver 414 to transmit the radar signal 208 using theselected frequency sub-spectrum or sub-spectrums. Multiple-frequencysub-spectrum selection is further described with respect to FIG. 6-2 .

The system media 418 also includes a machine-learned module 422, whichenables the system processor 416 to process the responses from theantenna elements in the antenna array 412 to detect the object 202 anddetermine the angular position of the object 202. In otherimplementations, the computer-readable media 404 can include themachine-learned module 422. This enables the radar system 102 to providethe smart device 104 raw data via the communication interface 410 suchthat the computer processor 402 can execute the machine-learned module422. In general, the machine-learned module 422 uses a trainedregression model to analyze the shape of the spatial response, as shownin FIG. 2 , and map the unique angular signature or pattern to angularprobability data. The machine-learned module 422 can include a suite ofnetworks that can be individually selected according to the type ofsmart device 104 or a target angular resolution for the radar-basedapplication 406.

In some implementations, the machine-learned module 422 relies onsupervised learning and can use measured (e.g., real) data formachine-learning training purposes. Training enables the machine-learnedmodule 422 to learn a non-linear mapping function for translatingbeamforming data into angular probability data. In otherimplementations, the machine-learned module 422 relies on unsupervisedlearning to determine the non-linear mapping function.

An example offline training procedure uses a motion-capture system togenerate truth data for training the machine-learned module 422. Themotion-capture system can include multiple optical sensors, such asinfrared-sensors or cameras, and measures positions of multiple markersthat are placed on different portions of a person's body, such as on anarm, a hand, a torso, or a head. While the person moves to differentangular positions relative to the radar system 102, radar data from theradar system 102 and position data from the motion-capture system arerecorded. The radar data represents training data and can include rawradar data or processed radar data (e.g., beamforming data). Theposition data recorded from the motion-capture system is converted intoangular measurements with respect to the radar system 102 and representstruth data. The truth data and the training data are synchronized intime, and provided to the machine-learned module 422. Themachine-learned module estimates angular positions of the person basedon the training data, and determines amounts of error between theestimated angular positions and the truth data. The machine-learnedmodule adjusts machine-learning parameters (e.g., weights and biases) tominimize these errors. Based on this offline training procedure, thedetermined weights and biases are pre-programmed into themachine-learned module 422 to enable subsequent angular estimation usingmachine learning. In some cases, the offline training procedure canprovide a relatively noise-free environment and high-resolution truthdata for training the machine-learned module 422.

Additionally or alternatively, a real-time training procedure can useavailable sensors within the smart device 104 to generate truth data fortraining the machine-learned module 422. In this case, a trainingprocedure can be initiated by a user of the smart device 104. While theuser moves around the smart device 104, data from optical sensors (e.g.,a camera or an infra-red sensor) of the smart device 104 and the radarsystem 102 are collected and provided to the machine-learned module 422.The machine-learned module 422 determines or adjusts machine-learningparameters to minimize errors between the estimated angular data and thetruth data. Using the real-time training procedure, the machine-learnedmodule 422 can be tailored to the user, account for currentenvironmental conditions, and account for a current position ororientation of the smart device 104.

The machine-learned module 422 can include one or more artificial neuralnetworks (referred to herein as neural networks). A neural networkincludes a group of connected nodes (e.g., neurons or perceptrons),which are organized into one or more layers. As an example, themachine-learned module 422 includes a deep neural network, whichincludes an input layer, an output layer, and one or more hidden layerspositioned between the input layer and the output layers. The nodes ofthe deep neural network can be partially-connected or fully connectedbetween the layers.

In some cases, the deep neural network is a recurrent deep neuralnetwork (e.g., a long short-term memory (LSTM) recurrent deep neuralnetwork) with connections between nodes forming a cycle to retaininformation from a previous portion of an input data sequence for asubsequent portion of the input data sequence. In other cases, the deepneural network is a feed-forward deep neural network in which theconnections between the nodes do not form a cycle. Additionally oralternatively, the machine-learned module 422 can include another typeof neural network, such as a convolutional neural network. An exampledeep neural network is further described with respect to FIG. 7 . Themachine-learned module 422 can also include one or more types ofregression models, such as a single linear regression model, multiplelinear regression models, logistic regression models, step-wiseregression models, multi-variate adaptive regression splines, locallyestimated scatterplot smoothing models, and so forth.

Generally, a machine-learning architecture of the machine-learned module422 can be tailored based on available power, available memory, orcomputational capability. The machine-learning architecture can also betailored based on a quantity of angular positions the radar system 102is designed to recognize or a quantity of angular ambiguities the radarsystem 102 is designed to resolve. The machine-learned module 422 canimplement, at least partially, angular estimation using machinelearning, which is further described with respect to FIG. 5 .

FIG. 5 illustrates an example scheme implemented by the radar system 102for performing angular estimation using machine learning. In thedepicted configuration, the radar system 102 includes a digitalbeamformer 502, an angle-estimation module 504, a tracker module 506,and a quantizer module 508. At least the angle-estimation module 504 isimplemented by the machine-learned module 422. In some implementations,the machine-learned module 422 also implements the digital beamformer502, the tracker module 506, the quantizer module 508 or combinationsthereof. Alternatively, the digital beamformer 502, the tracker module506, or the quantizer module 508 are implemented using conventionalsignal-processing algorithms. In some cases, operations of the trackermodule 506 or the quantizer module 508 are integrated within theangle-estimation module 504.

The digital beamformer 502 obtains the multiple responses from theantenna elements in the antenna array 412 and generates beamforming data510. The beamforming data 510 can include spatial responses, such as thespatial response 210 shown in FIG. 2 or phase coherence maps, which arefurther described in FIG. 6-2 . The beamforming data 510 can include asingle-dimensional or multi-dimensional matrix for a quantity of beamsat multiple range positions. To reduce a quantity of down-streamcomputations within the angle-estimation module 504, two orthogonalvectors of the multiple beams can be provided as the beamforming data510. The beamforming data 510 can also include amplitude information(e.g., real numbers) or both amplitude and phase information (e.g.,complex numbers). In some cases, the digital beamformer 502 executes aFourier beamforming algorithm, a minimum various distortionless response(MVDR) (e.g., Capon) beamforming algorithm, a multiple signalclassification (MUSIC) beamforming algorithm, estimation of signalparameters via rotational invariance techniques (ESPRIT), a compressivesensing-based beamforming algorithm, a parametric algorithm, anon-parametric algorithm, a linear beamforming algorithm, a non-linearbeamforming algorithm, and so forth.

If the digital beamformer 502 is implemented within the machine-learnedmodule 422, the digital beamformer 502 employs machine-learningtechniques to generate the beamforming data 510. In this case, thedigital beamformer 502 can be implemented using one or more layers of aneural network. Although the activation functions within these layersencode the digital beamforming algorithms, the digital beamformer 502can be trained to tune and adjust beamforming weights (e.g.,machine-learning parameters) based on a performance of the radar system102. In this manner, the digital beamformer 502 can account forperformance discrepancies caused by manufacturing variances, hardwareperformance variances over time or temperature, a current position ororientation of the smart device 104, current environmental obstacles andnoise, and so forth. The machine learning can account for variations ingains of multiple antenna elements across different radar systems 102,different temperatures, or over time, for instance. The trainingprocedure can also enable the digital beamformer 502 to dynamicallyadjust the beamforming weights according to different use cases, such asdifferent activities of the user or different types of radar-basedapplications 406.

The angle-estimation module 504 obtains the beamforming data 510 andemploys machine-learning techniques to generate angular probability data512. The angular probability data 512 can include a continuousprobability distribution across 360 degrees or a probabilitydistribution across two or more angular bins. In some implementations,the probability distribution comprises a gaussian distribution. Theangular bins can encompass a few course angular intervals or many fineangular intervals. In some cases, the user can exist within multipleangular bins. An angular resolution and a quantity of the angular binscan be adjusted based on the radar-based application 406 orcomputational capability of the radar system 102 or smart device 104.

The angle-estimation module 504 can include a neural network, aconvolutional neural network (CNN), a long short-term memory network, orcombinations thereof. The neural network can have various depths orquantities of hidden layers (e.g., three hidden layers, five hiddenlayers, or ten hidden layers). The neural network can also include avariety of different quantities of connections. For example, the neuralnetwork can be implemented with fully-connected neural network layers ora partially-connected neural network layers. These connections enablethe angle-estimation module 504 to use both local and global knowledgeto analyze the beamforming data 510. In some cases, a convolutionalneural network can be used to increase computational speed of theangle-estimation module 504. In other cases in which it is advantageousto reference temporal information or previously measured angularpositions of the object 202, the long short-term memory network can beused. With inclusion of a long short-term memory layer, theangle-estimation module 504 can also learn to track the object 202. Ingeneral, the angle-estimation module 504 employs non-linear functions tomap the beamforming data 510 to the angular probability data 512.

The tracker module 506 produces angular position data 514 based on theangular probability data 512. The angular position data 514 can includethe angular bin that the tracker module 506 determines the object 202 tobe within. In general, the tracker module 506 selects the angular binthat has a highest probability of corresponding to the object 202. Theselection can be based on which angular bin has a highest probability inthe angular probability data 512. The tracker module 506 can also makethe determination based on at least one previously-measured angularposition. This can enable the radar system 102 to keep track of one ormore moving objects 202 and increase confidence in angular measurementsand object detection. In some cases, the tracker module 506 can predictthe angular position of the object 202 and select the angular bin thatclosely corresponds to the prediction. Other data can also be used todetermine the angular position, including range, Doppler, velocity, oracceleration. In some cases, the tracker module 506 can implement analpha-beta tracker, a Kalman filter, a multiple hypothesis tracker(MHT), and so forth.

If the tracker module 506 is implemented within the machine-learnedmodule 422, the tracker module 506 employs machine-learning techniquesto generate the angular position data 514. In this case, the trackermodule 506 can be implemented using one or more long-short term memorynetwork layers. The tracker module 506 can also be trained todistinguish an angular ambiguity of a first user from an angularsignature of a second user. In this way, the radar system 102 can detectmultiple objects in the presence of angular ambiguities. The trackermodule 506 can also identify the user after a period of time in whichthe user is not detected by the radar system 102.

The quantization module 508 obtains the angular position data 514 andquantizes the data to produce quantized angular position data 516. Thequantization can be performed based on a target angular resolution forthe radar-based application 406. In some situations, fewer quantizationlevels can be used such that the quantized angular position data 516indicates whether the object 202 is to the right or to the left of thesmart device 104 or identifies a 90 degree quadrant the object 202 islocated within. This may be sufficient for some radar-based applications406, such as user proximity detection. In other situations, a largernumber of quantization levels can be used such that the quantizedangular position data 516 indicates an angular position of the object202 within an accuracy of a fraction of a degree, one degree, fivedegrees, and so forth. This resolution can be used for higher-resolutionradar-based applications 406, such as gesture recognition.

If the quantization module 508 is implemented within the machine-learnedmodule 422, the quantization module 508 employs machine-learningtechniques to generate the quantized angular position data 516. In thiscase, the quantization module 508 can be implemented using one or moreneural network layers.

FIG. 6-1 illustrates an example scheme 600-1 implemented by the digitalbeamformer 502 for performing angular estimation using machine learning.In the scheme 600-1, a single frequency sub-spectrum 610 is selected viathe frequency selection module 420 and is present in the radar signal208 of FIG. 2 . The digital beamformer 502 obtains, from the transceiver414, raw data 602, which represents digital responses from each of theantenna elements of the antenna array 412 that are used to receive theradar signal 208. In general, the responses from each of the antennaelements are processed by separate receive channels in the transceiver414, which are represented by N-channels in FIG. 6-1 , where Nrepresents a positive integer. The raw data 602 contains digitalinformation (e.g., in-phase and quadrature data) across a period of timeand for different wavenumbers associated with the radar signal 208, asshown by raw data 602-1, which is associated with one of the N-channels.The digital beamformer 502 performs a Fast-Fourier Transform (FFT) onthe raw data 602 to generate pre-processed data 604. The pre-processeddata 604 includes digital information across the period of time and fordifferent ranges (e.g., range bins), as shown by pre-processed data604-1, which is associated with one of the N-channels. In someimplementations, the digital beamformer 502 performs another FFToperation on the pre-processed data 604 to generate range-Doppler data612. The range-Doppler data 612 includes digital information fordifferent Doppler frequencies and for the different ranges, as shown byrange-Doppler data 612-1, which is associated with one of theN-channels.

Using either the pre-processed data 604 or the range-Doppler data 612,the digital beamformer 502 generates the spatial response 210 bycombining information across the N-channels. The spatial response 210includes amplitude and phase information, examples of which areillustrated in FIGS. 2 and 3 . In FIG. 6-1 , the spatial response 210includes spatial response subsets 606-0 through 606-K, which include aset of spatial responses 210 for different time intervals, such as timeto and time t_(k). The variable K represents a positive integer. Eachspatial response 210 within the spatial response subset 606 containsdigital information for a set of azimuths, elevations, and ranges. Theset of azimuths and elevations represent the field of view 212 for whichdifferent steering angles or beams are formed by the digital beamformer502. As an example, the digital beamformer 502 can generateapproximately 100 beams, 2000 beams, 4000 beams, 6000 beams, and soforth.

In the scheme 600-1, the beamforming data 510, which is provided to theangle-estimation module 504 of FIG. 5 , includes the spatial response210. In some cases, a portion of the spatial response 210 can beprovided to reduce the number of computations in the angle-estimationmodule 504. The portion can be, for instance, based on a range slicethat has a higher probability of being associated with a range to theobject (e.g., includes a maximum amplitude response compared to theother ranges). Another type of beamforming data 510 is further describedwith respect to FIG. 6-2 .

FIG. 6-2 illustrates another example scheme 600-2 implemented by thedigital beamformer 502 for performing angular estimation using machinelearning. In the scheme 600-2, three frequency sub-spectrums 610-1,610-2, and 610-3 are selected via the frequency selection module 420 andare present in the radar signal 208 of FIG. 2 . Similar to the scheme600-1 in FIG. 6-1 , spatial responses 210-1, 210-2, and 210-3 arerespectively generated for each of the frequency sub-spectrums 610-1,610-2, and 610-3. Complex coherence is performed on these spatialresponses 210-1, 210-2, and 210-3 to generate phase coherence maps608-1, 608-2, and 608-3. The phase coherence maps 608 contain phaseinformation of the complex coherence (e.g., interferogram) between pairsof beamforming reconstructions. As shown by the arrows in FIG. 6-2 , thephase coherence maps 608-1, 608-2, and 608-3 are respectively computedusing the spatial responses 210 associated with the frequencysub-spectrum 610-1 and 610-2, the frequency sub-spectrums 610-1 and610-3, and the frequency sub-spectrums 610-2 and 610-3. The phaseinformation in the phase coherence maps 608 is computed according toEquation 1:

$\begin{matrix}{\theta = \frac{{Angle}\left( {E\left\{ {S_{1}S_{2}^{*}} \right\}} \right)}{\sqrt{E\left\{ {S_{1}}^{2} \right\} E\left\{ {S_{2}}^{2} \right\}}}} & {{Equation}\mspace{14mu} 1}\end{matrix}$where S_(n) represents a signal received by antenna element n, E{ }represents an expected value estimation, and “*” represents a complexconjugate.

In the scheme 600-2, the beamforming data 510, which is provided to theangle-estimation module 504 of FIG. 5 , includes the phase coherencemaps 608-1, 608-2, and 608-3. In general, a portion of the spatialresponse 210 that is associated with the object 202 remains with asimilar shape in each of the different frequency sub-spectrums 610 whileshapes of the angular ambiguities can differ. As such, the object 202'sposition can be determined by analyzing the phase coherence maps 608. Inother words, different angular positions of the object within the fieldof view 212 have a unique phase coherence map 608, which can beidentified by the angular estimation module 504.

FIG. 7 illustrates an example neural network 700 for performing angularestimation using machine learning. In the depicted configuration, theneural network 700 implements the angle-estimation module 504. Theneural network 700 includes an input layer 702, multiple hidden layers704, and an output layer 706. The input layer 702 includes multipleinputs 708-1, 708-2 . . . 708-P, where P represents a positive integer.The multiple hidden layers 704 include layers 704-1, 704-2 . . . 704-M,where M represents a positive integer. Each hidden layer 704 includesmultiple neurons, such as neurons 710-1, 710-2 . . . 710-Q, where Q is apositive integer. Each neuron 710 is connected to at least one otherneuron 710 in a next hidden layer 704. A quantity of neurons 710 can besimilar or different for different hidden layers 704. In some cases, ahidden layer 704 can be a replica of a previous layer (e.g., layer 704-2can be a replica of layer 704-1). The output layer 706 includes angularbins 712-1, 712-2 . . . 712-R, where R represents a positive integer. Avariety of different neural networks 700 can be used with variousquantities of inputs 708, hidden layers 704, neurons 710, and angularbins 712.

As shown in FIG. 7 , the beamforming data 510 is provided to the inputlayer 702. Assuming the beamforming data 510 is a 64×64 matrix ofamplitudes and a quantity of inputs 708 is 512, eight contiguouselements of the matrix can be combined and provided to each of theinputs 708. In general, each neuron 710 in the hidden layers 704analyzes a different section or portion of the beamforming data 510 viaan activation function. The neuron 710 activates (or inverselyactivates) when a specific type of feature is detected at a spatialposition in the beamforming data 510. An example activation function caninclude, for example, a non-linear function such as a hyperbolic tangentfunction. Towards the top of FIG. 7 , a neuron 710 is shown to obtaininputs X₁W₁, X₂W₂ . . . X_(Q)W_(Q) and a bias W₀, where X₁, X₂ . . .X_(Q) correspond to outputs of a previous input or hidden layer (e.g.,the layer 704-1 in FIG. 7 ) and W₁, W₂ . . . W_(Q) correspond torespective weights that are applied to X₁, X₂ . . . X_(Q). An output Ythat is generated by the neuron 710 is determined based on theactivation function ƒ(z). An example hyperbolic tangent activationfunction is shown in Equation 2 below:

$\begin{matrix}{Y = {{f(z)} = \frac{e^{z} - e^{- z}}{e^{z} + e^{- z}}}} & {{Equation}\mspace{14mu} 2}\end{matrix}$where z is represented by Equation 3 below:z=W ₀+Σ_(i) ^(P) X _(i) W _(i)  Equation 3where P is a positive integer that represents a quantity of inputs tothe neuron 710. In the depicted example, P is equal to Q for afully-connected network. The output Y can be scaled by another weightand provided as an input to another layer 704 or the output layer 706(e.g., the layer 704-M in FIG. 7 ).

At the output layer 706, the hidden layers 704 provide a probability ofthe object 202 being located within each of the angular bins 712-1 to712-R. As an example, a quantity of angular bins 712-1 to 712-R is 64.An example plot 714 illustrates example probabilities for each of theangular bins 712-1 to 712-R. With training, the neural network 700 canlearn any number of unique angular signatures, including hundreds orthousands of different patterns. Other types of machine-learningarchitectures can also be used to implement the angle-estimation module504, such as a convolutional neural network as described with respect toFIG. 8 .

FIG. 8 illustrates an example convolutional neural network 800 forperforming angular estimation using machine learning. In the depictedconfiguration, the convolutional neural network 800 implements theangle-estimation module 504. The general operation of the convolutionalneural network 800 is similar to the neural network 700 (of FIG. 7 ) inthat the beamforming data 510 is provided to neurons within the hiddenlayers 704 and probabilities for different angular bins are generated atthe output layer 706. The hidden layers 704 are structured differentlyin the convolutional neural networks 800, however. In particular, thehidden layers 704 include convolutional layers 802, pooling layers 804,and fully-connected layers 806.

The convolutional layers 802 perform a convolution operation on theincoming data using learned filters (e.g., kernels) to extract featuresof the beamforming data 510. Due to the convolution operation, theconvolutional layers 802 can extract these features using fewermachine-learning parameters relative to the hidden layers 704 of theneural network 700. With fewer machine-learning parameters, a trainingprocedure of the convolutional neural network 800 can be more efficientthan a training procedure of the neural network 700.

A pooling layer 804 aggregates (e.g., combines) outputs of multipleneurons 710 of a previous layer and passes the result to a single neuronof a next layer. The pooling layer 804 can perform an averagingoperation or a maximum operation, for instance. By combining clusters ofneurons together, outputs of the pooling layers 804 efficientlyrepresent the extracted features and reduce a quantity of computationsin subsequent layers. Together, the convolutional layers 802 and thepooling layers 804 enable the convolutional neural network 800 toperform fewer computations compared to the neural network 700 of FIG. 7.

FIG. 9 illustrates an example suite of machine-learned modules 422 thatcan perform radar angular estimation for a variety of smart devices 104.The example smart devices 104 in FIG. 4 can vary in terms of availablepower, computational capability, available memory, types of radar-basedapplications 406 (e.g., gesture sensing, collision avoidance, vital-signdetection, or proximity detection), and physical size, which can affecta design of the antenna array 412. In FIG. 9 , a graph 902 illustratesdifferences between available power and computational capability for thecomputing watch 104-5, the smart device 104 of FIG. 1 , which is shownas a smart phone, the laptop 104-3, and the gaming system 104-7. In thisexample, the computing watch 104-5 is shown to have less computationalcapability and available power compared to the gaming system 104-7.

The suite of machine-learned modules 422 can include machine-learnedmodules 422-1, 422-2, 422-3, and 422-4, which are designed to operatewithin the constraints or capabilities of the corresponding smartdevices 104-5, 104, 104-3, and 104-7. For example, a low-power,non-computationally intensive machine-learned module 422-1 can beimplemented within the computing watch 104-5. To decrease powerconsumption and a quantity of computations, the machine-learned module422-1 may evaluate responses across a fewer number of channels or for afewer number of frequency sub-spectrums 610. The digital beamformer 502can also generate fewer beams or may provide less beamforming data 510to the angle-estimation module 504. The angle-estimation module 504within the machine-learned module 422-1 can have fewer hidden layers 704and fewer angular bins 712. In other words, a compressed version of theangle-estimation module 504 can be implemented to provide coarse angularestimates. In some cases, a different type of machine-learningarchitecture can be used to conserve memory and increase a speed of thecalculation (e.g., such as the convolutional neural network 800). Theradar-based application 406 of the smart watch 104-5 can utilize theangular information provided by the machine-learned module 422-1 forlarger-scale radar-based applications 406, such as determining aproximity of a user.

In contrast, a high-power, computationally-intensive machine-learnedmodule 422-4 can be implemented within the gaming system 104-7, whichenables the user to perform complex control gestures for a video game.In this case, the machine-learned module 422-4 can process a largerquantity of channels, frequency sub-spectrums 610, or beams. A largerquantity of hidden layers 704 (e.g., such as five) or angular bins 712can also be implemented within the machine-learned module 422-4. Assuch, the machine-learned module 422-4 can provide finer angularresolution for a radar-based application 406 such as gesturerecognition. The machine-learned module 422-4 can also track the angularpositions of multiple objects 202, which may be present at a same time.Example implementations of the machine-learned modules 422-1, 422-2, and422-4 are further described with respect to FIGS. 10, 11, and 12 ,respectively.

FIG. 10 illustrates an example computationally-conservativemachine-learned module 422-1, which can be implemented within lesscomputationally capable smart devices 104, such as the computing watch104-5 of FIG. 4 or 9 . In the depicted configuration, themachine-learned module 422-1 implements the angle-estimation module 504.The radar system 102 also includes the digital beamformer 502, which canbe implemented using signal-processing algorithms.

The machine-learned module 422-1 includes a sequence of convolutionallayers 1002-1, 1002-2 . . . 1002-T and pooling layers 1004-1, 1004-2 . .. 1004-T, where T is a positive integer. As an example, themachine-learned module 422-1 includes three pairs of convolution layers1002 and pooling layers 1004 (e.g., T equals three). The convolutionallayers 1002 can perform multi-dimensional convolution operations on thebeamforming data 510. The pooling layers 1004 can perform a maximumoperation that passes a largest output from a cluster of neurons 710within the previous convolutional layer 1002 to a neuron of thefollowing convolutional layer 1002. Each pair of convolutional poolinglayers 1002 and pooling layers 1004 analyze the beamforming data 510 andreduce a quantity of computations for a next pair of convolutionallayers 1002 and pooling layers 1004. Accordingly, the machine-learnedmodule 422-1 can generate the angular probability data 512 with fewercomputations. A softmax function 1006 can generate the angularprobability data 512 for a few angular bins 712. The angular bins 712,for instance, can include two angular bins 712-1 and 712-2 thatrespectively indicate if the object 202 is to the right or to the leftof the smart device 104.

FIG. 11 illustrates an example power-conserving machine-learned module422-2, which can be implemented within computationally-capable andpower-constrained smart devices 104, such as the smart phone of FIG. 1or 9 . In the depicted configuration, the machine-learned module 422-2implements the angle-estimation module 504. The radar system 102 alsoincludes the digital beamformer 502, the tracker module 506, and thequantizer module 508, which can be implemented using signal-processingalgorithms. Generally, the power-conserving machine-learned module 422-2enables increased angular resolution and accuracy performance to beachieved within available power constraints. For example, a quantity ofcomputations can be larger with respect to the machine-learned module422-1 of FIG. 10 and enable the smart device 104 to operate for a targettime period using battery power.

In FIG. 11 , the machine-learned module 422-2 includes multiplefully-connected layers 1102-1, 1102-2 . . . 1102-U, where U represents apositive integer. A quantity of fully-connected layers, for instance,can be five (e.g., U equals five). The fully-connected layers 1102enable the angle-estimation module 504 to provide angular probabilitydata 512 for several angular bins 712 (e.g., four angular bins 712). Theangular bins 712, for instance, can include four angular bins 712-1 to712-4 that respectively indicate if the object 202 is in front, to theleft, behind, or to the right of the smart device 104.

FIG. 12 illustrates an example computationally-intensive andpower-intensive machine-learned module 422-4, which can be implementedwithin computationally-capable and minimally power-constrained smartdevices 104, such as the gaming system 104-7 of FIG. 4 or 9 . In thedepicted configuration, the machine-learned module 422-4 implements thedigital beamformer 502, the angle-estimation module 504, and the trackermodule 506. Generally, the machine-learned module 422-4 providesincreased angular resolution and consumes more power compared to themachine-learned modules 422-1 of FIG. 10 and 422-2 of FIG. 11 .

The machine-learned module 422-4 includes fully-connected layers 1202-1to 1202-S, which implement the digital beamformer 502. The variable Srepresents a positive integer, which can be equal to two in an exampleimplementation. The machine-learned module 422-4 also includesconvolutional layers 1204-1 to 1204-T, long short-term memory layers1206-1 to 1206-V, and fully-connected layers 1208-1 to 1208-U, whichjointly implement the angle-estimation module 504 and the tracker module506. The variable V represents a positive integer. As an example, themachine-learned module 422-4 can include seven convolutional layers 1204(e.g., T equals 7), three long short-term memory layers 1206 (e.g., Vequals 3), and three fully-connected layers 1208 (e.g., U equals 3). Themultiple long short-term memory layers 1206-1 to 1206-V enable themachine-learned module 422-4 to track multiple objects over an extendedperiod of time. The fully-connected layers 1208-1 to 1208-U enable theangle-estimation module 504 to provide angular probability data 512 fora continuous angular measurement across 360 degrees or for many angularbins 712 (e.g., on the order of tens, hundreds, or thousands of angularbins). As shown in FIGS. 9-12 , various machine-learning techniques canbe employed to customize the machine-learned module 422 for a variety ofdifferent smart devices 104 and radar-based applications 406.

Example Method

FIG. 13 depicts an example method 1300 for performing operations of asmart-device-based radar system capable of performing angular estimationusing machine learning. Method 1300 is shown as sets of operations (oracts) performed but not necessarily limited to the order or combinationsin which the operations are shown herein. Further, any of one or more ofthe operations may be repeated, combined, reorganized, or linked toprovide a wide array of additional and/or alternate methods. In portionsof the following discussion, reference may be made to the environment100-1 to 100-6 of FIG. 1 , and entities detailed in FIG. 4 or 5 ,reference to which is made for example only. The techniques are notlimited to performance by one entity or multiple entities operating onone device.

At 1302, a radar signal is transmitted and received via an antennaarray. The radar signal is reflected by at least one object. Forexample, the radar system 102 transmits and receives the radar signal208 via the antenna array 412. The radar signal 208 is reflected by atleast one object 202, as shown in FIG. 2 . The object 202 can include auser, a portion of the user (e.g., a torso, a head, or an appendage), ormultiple users, such as the multiple users in the environments of 100-3and 100-5 of FIG. 1 . The object 202 can also include an inanimateobject, such as a stylus or a vehicle.

At 1304, beamforming data is generated based on the received radarsignal. For example, the digital beamformer 502 (of FIG. 5 ) generatesthe beamforming data 510 based on the received radar signal 208. Thedigital beamformer 502 can be implemented using signal-processingtechniques or machine-learning techniques. The beamforming data 510 caninclude spatial responses 210, as shown in FIG. 6-1 , or phase coherencemaps 608, as shown in FIG. 6-2 .

At 1306, the beamforming data is analyzed using machine learning todetermine a probability distribution of an angular position of an objectacross two or more angular bins. For example, the angle-estimationmodule 504 analyzes the beamforming data 510 using machine learning todetermine a probability distribution of an angular position of the atleast one object 202 across two or more angular bins 712. Theangle-estimation module 504 generates angular probability data 512,which includes the probability distribution. Using machine learning, theangle-estimation module 504 can resolve angular ambiguities and identifyangles associated with multiple objects 202. As shown in FIG. 5 , themachine-learned module 422 of the radar system 102 implements theangular estimation module 504. In some cases, the machine-learned module422 also implements the digital beamformer 502, the tracker module 506,the quantization module 508, or a combination thereof.

At 1308, an angular bin of the two or more angular bins is determined tobe associated with the angular position of the at least one object basedon the probability distribution. For example, the tracker module 506determines that an angular bin 712 of the two or more angular bins 712-1to 712-R is associated with the at least one object 202 based on theprobability distribution within the angular probability data 512. Thetracker module 506 can make this determination based on a probability ofthe angular bin 712. In some implementations, the tracker module 506 canalso make this determination based on a previously-determined angularbin of the at least one object 202 or based on a predicted angular binof the at least one object 202.

Example Computing System

FIG. 14 illustrates various components of an example computing system1400 that can be implemented as any type of client, server, and/orcomputing device as described with reference to the previous FIG. 2 toimplement angular estimation using machine learning.

The computing system 1400 includes communication devices 1402 thatenable wired and/or wireless communication of device data 1404 (e.g.,received data, data that is being received, data scheduled forbroadcast, or data packets of the data). The device data 1404 or otherdevice content can include configuration settings of the device, mediacontent stored on the device, and/or information associated with a userof the device. Media content stored on the computing system 1400 caninclude any type of audio, video, and/or image data. The computingsystem 1400 includes one or more data inputs 1406 via which any type ofdata, media content, and/or inputs can be received, such as humanutterances, the radar-based application 406, user-selectable inputs(explicit or implicit), messages, music, television media content,recorded video content, and any other type of audio, video, and/or imagedata received from any content and/or data source.

The computing system 1400 also includes communication interfaces 1408,which can be implemented as any one or more of a serial and/or parallelinterface, a wireless interface, any type of network interface, a modem,and as any other type of communication interface. The communicationinterfaces 1408 provide a connection and/or communication links betweenthe computing system 1400 and a communication network by which otherelectronic, computing, and communication devices communicate data withthe computing system 1400.

The computing system 1400 includes one or more processors 1410 (e.g.,any of microprocessors, controllers, and the like), which processvarious computer-executable instructions to control the operation of thecomputing system 1400 and to enable techniques for, or in which can beembodied, gesture recognition in the presence of saturation.Alternatively or in addition, the computing system 1400 can beimplemented with any one or combination of hardware, firmware, or fixedlogic circuitry that is implemented in connection with processing andcontrol circuits which are generally identified at 1412. Although notshown, the computing system 1400 can include a system bus or datatransfer system that couples the various components within the device. Asystem bus can include any one or combination of different busstructures, such as a memory bus or memory controller, a peripheral bus,a universal serial bus, and/or a processor or local bus that utilizesany of a variety of bus architectures.

The computing system 1400 also includes a computer-readable media 1414,such as one or more memory devices that enable persistent and/ornon-transitory data storage (i.e., in contrast to mere signaltransmission), examples of which include random access memory (RAM),non-volatile memory (e.g., any one or more of a read-only memory (ROM),flash memory, EPROM, EEPROM, etc.), and a disk storage device. The diskstorage device may be implemented as any type of magnetic or opticalstorage device, such as a hard disk drive, a recordable and/orrewriteable compact disc (CD), any type of a digital versatile disc(DVD), and the like. The computing system 1400 can also include a massstorage media device (storage media) 1416.

The computer-readable media 1414 provides data storage mechanisms tostore the device data 1404, as well as various device applications 1418and any other types of information and/or data related to operationalaspects of the computing system 1400. For example, an operating system1420 can be maintained as a computer application with thecomputer-readable media 1414 and executed on the processors 1410. Thedevice applications 1418 may include a device manager, such as any formof a control application, software application, signal-processing andcontrol module, code that is native to a particular device, a hardwareabstraction layer for a particular device, and so on.

The device applications 1418 also include any system components,engines, or managers to implement angular estimation using machinelearning. In this example, the device applications 1418 includes themachine-learned module 422 and the frequency selection module 420.

CONCLUSION

Although techniques using, and apparatuses including, asmart-device-based radar system performing angular estimation usingmachine learning have been described in language specific to featuresand/or methods, it is to be understood that the subject of the appendedclaims is not necessarily limited to the specific features or methodsdescribed. Rather, the specific features and methods are disclosed asexample implementations of a smart-device-based radar system performingangular estimation using machine learning.

In the following some examples are described.

Example 1

A smart device comprising:

a radar system, the radar system including:

an antenna array;

a transceiver coupled to the antenna array and configured to transmitand receive a radar signal via the antenna array, the radar signalreflected by at least one object;

a digital beamformer coupled to the transceiver and configured togenerate beamforming data based on the received radar signal; and

an angle-estimation module coupled to the digital beamformer andconfigured to generate, using machine learning, angular probability databased on the beamforming data, the angular probability data comprising aprobability distribution of an angular position of the at least oneobject.

Example 2

The smart device of example 1, wherein:

the beamforming data includes at least two amplitude peaks that arerepresentative of the angular position of the at least one object and anangular ambiguity of the at least one object; and

the angle-estimation module is configured to generate the angularprobability data such that a first probability associated with theangular position of the at least one object is greater than a secondprobability associated with the angular ambiguity of the at least oneobject.

Example 3

The smart device of example 1 or 2, wherein:

the at least one object comprises a first object and a second object;

the beamforming data includes at least three amplitude peaks that arerepresentative of a first angular position of the first object, a secondangular position of the second object, and an angular ambiguity of thefirst object; and

the angle-estimation module is configured to generate the angularprobability data such that both a first probability associated with thefirst angular position of the first object and a second probabilityassociated with the second angular position of the second object aregreater than a third probability associated with the angular ambiguityof the first object.

Example 4

The smart device of at least one of the preceding examples, wherein theangle-estimation module is configured to:

accept, from one or more sensors, angular measurement data associatedwith different angles between the smart device and a user during a giventime period, the angular measurement data representing truth data;

accept other beamforming data associated with at least one other radarsignal that is received during the given time period, the otherbeamforming data representing training data;

execute a training procedure to determine machine-learning parametersbased on the training data and the truth data; and

generate the angular probability data using the machine-learningparameters.

Example 5

The smart device of at least one of the preceding examples, wherein theone or more sensors include at least one of the following:

an external motion-capture system;

a camera of the smart device; or

an infra-red sensor of the smart device.

Example 6

The smart device of at least one of the preceding examples, wherein theradar system includes a tracker module coupled to the angle-estimationmodule and configured to determine the angular position of the at leastone object based on the angular probability data.

Example 7

The smart device of example 6, wherein the tracker module is configuredto:

track the at least one object based on a previously-measured angularposition; and

determine the angular position of the at least one object based on thepreviously-measured angular position.

Example 8

The smart device of example 6 or 7, further comprising:

a radar-based application coupled to the tracker module and configuredto control an operation of the smart device based on the angularposition of the at least one object.

Example 9

The smart device of at least one of example 6 to 8, wherein:

the radar system includes a machine-learned module comprising theangle-estimation module, the digital beamformer, and the tracker module;

the digital beamformer is configured to:

dynamically adjust beamforming weights using the machine learning; and

generate the beamforming data using the adjusted beamforming weights;and

the tracker module is configured to determine the angular position ofthe at least one object using the machine learning.

Example 10

The smart device of at least one of the preceding examples, wherein themachine-learned module includes at least one of the following:

a partially-connected layer;

a fully-connected layer;

a convolutional layer;

a long short-term memory layer; or

a pooling layer.

Example 11

The smart device of at least one of the preceding examples, furthercomprising:

a frequency selection module coupled to the transceiver and configuredto:

select a frequency sub-spectrum; and

cause the transceiver to transmit the radar signal using the frequencysub-spectrum,

wherein the angle-estimation module is configured to resolve angularambiguities in the beamforming data based on the frequency sub-spectrumto generate the angular probability data.

Example 12

The smart device of example 11, wherein:

the frequency selection module is further configured to:

select a single frequency sub-spectrum; or

select at least two frequency sub-spectrums; and

the digital beamformer is configured to:

generate a spatial response based on the single frequency sub-spectrum;or

generate a phase coherence map based on the at least two frequencysub-spectrums.

Example 13

System with a smart device according to at least one of the precedingexamples 1 to 12 and with at least one object reflective to the radarsignal.

Example 14

A method comprising:

transmitting and receiving a radar signal via an antenna array, theradar signal reflected by at least one object;

generating beamforming data based on the received radar signal;

analyzing the beamforming data using the machine learning to determine aprobability distribution of an angular position of the at least oneobject across two or more angular bins; and

determining, based on the probability distribution, that an angular binof the two or more angular bins is associated with the angular positionof the at least one object.

Example 15

The method of example 14, wherein:

the two or more angular bins include a first angular bin and a secondangular bin;

the beamforming data includes at least two amplitude peaks that arerepresentative of the angular position of the at least one object and anangular ambiguity of the at least one object; and

the analyzing of the beamforming data comprises generating theprobability distribution such that the first angular bin associated withthe angular position of the at least one object has a higher probabilitythan the second angular bin associated with the angular ambiguity of theat least one object.

Example 16

The method of example 14 or 15, wherein:

the at least one object comprises a first object and a second object;

the two or more angular bins include a first angular bin, a secondangular bin, and a third angular bin;

the beamforming data includes at least three amplitude peaks that arerepresentative of a first angular position of the first object, a secondangular position of the second object, and an angular ambiguityassociated with the first object;

the analyzing of the beamforming data comprises generating theprobability distribution such that both a first angular bin associatedwith the first angular position of the first object and a second angularbin associated with the second angular position of the second objecthave higher probabilities than a third angular bin associated with theangular ambiguity of the first object; and

the determining of the angular bin comprises determining that the firstangular bin is associated with the first object and that the secondangular bin is associated with the second object.

Example 17

The method of at least one of the examples 14 to 16, further comprising:

accepting, from one or more sensors, angular measurement data associatedwith different angles to a user during a given time period, the angularmeasurement data representing truth data;

accepting other beamforming data collected from one or more prior radarsignals received during the given time period, the other beamformingdata representing training data;

executing a training procedure to determine machine-learning parametersbased on the training data and the truth data; and

generating the probability distribution using the machine-learningparameters.

Example 18

A computer-readable storage media comprising computer-executableinstructions that, responsive to execution by a processor, implement:

an angle-estimation module configured to:

accept beamforming data associated with a received radar signal that isreflected by at least one object; and

generate, using machine learning, angular probability data based on thebeamforming data, the angular probability data comprising a probabilitydistribution of an angular position of the at least one object; and

a tracker module configured to determine the angular position of the atleast one object based on the probability distribution.

Example 19

The computer-readable storage media of example 18, wherein thecomputer-executable instructions, responsive to execution by theprocessor, implement a machine-learned module comprising theangle-estimation module and the tracker module.

Example 20

The computer-readable storage media of example 18 or 19, wherein themachine-learned module includes a digital beamformer configured togenerate the beamforming data using the machine learning.

Example 21

The computer-readable storage media of at least one of the examples 18to 20, wherein the angle-estimation module is configured to:

accept, from one or more sensors, angular measurement data associatedwith different angles to a user during a given time period, the angularmeasurement data representing truth data;

accept other beamforming data associated with at least one other radarsignal that is received during the given time period, the beamformingdata representing training data;

execute a training procedure to determine machine-learning parametersbased on the training data and the truth data; and

generate the angular probability data using the machine-learningparameters.

The invention claimed is:
 1. A smart device comprising: a radar system,the radar system including: an antenna array; a transceiver coupled tothe antenna array and configured to transmit and receive a radar signalvia the antenna array, the radar signal reflected by at least oneobject; a digital beamformer coupled to the transceiver and configuredto generate beamforming data based on the received radar signal; and anangle-estimation module coupled to the digital beamformer and configuredto generate, using a regression model associated with machine learning,angular probability data based on the beamforming data, the angularprobability data comprising a probability distribution of an angularposition of the at least one object, the probability distributioncomprising values between 0% and 100% across a set of angles.
 2. Thesmart device of claim 1, wherein: the beamforming data includes at leasttwo amplitude peaks that are representative of the angular position ofthe at least one object and an angular ambiguity of the at least oneobject; and the angle-estimation module is configured to generate theangular probability data such that a first probability associated withthe angular position of the at least one object is greater than a secondprobability associated with the angular ambiguity of the at least oneobject.
 3. The smart device of claim 1, wherein: the at least one objectcomprises a first object and a second object; the beamforming dataincludes at least three amplitude peaks that are representative of afirst angular position of the first object, a second angular position ofthe second object, and an angular ambiguity of the first object; and theangle-estimation module is configured to generate the angularprobability data such that both a first probability associated with thefirst angular position of the first object and a second probabilityassociated with the second angular position of the second object aregreater than a third probability associated with the angular ambiguityof the first object.
 4. The smart device of claim 1, wherein theangle-estimation module is configured to: accept, from one or moresensors, angular measurement data associated with different anglesbetween the smart device and a user during a given time period, theangular measurement data representing truth data; accept otherbeamforming data associated with at least one other radar signal that isreceived during the given time period, the other beamforming datarepresenting training data; execute a training procedure to determinemachine-learning parameters based on the training data and the truthdata; and generate the angular probability data using themachine-learning parameters.
 5. The smart device of claim 4, wherein theone or more sensors include at least one of the following: an externalmotion-capture system; a camera of the smart device; or an infra-redsensor of the smart device.
 6. The smart device of claim 1, wherein theradar system includes a tracker module coupled to the angle-estimationmodule and configured to determine the angular position of the at leastone object based on the angular probability data.
 7. The smart device ofclaim 6, further comprising: a radar-based application coupled to thetracker module and configured to control an operation of the smartdevice based on the angular position of the at least one object.
 8. Thesmart device of at least one of claim 6, wherein: the radar systemincludes a machine-learned module comprising the angle-estimationmodule, the digital beamformer, and the tracker module; the digitalbeamformer is configured to: dynamically adjust beamforming weightsusing the machine learning; and generate the beamforming data using theadjusted beamforming weights; and the tracker module is configured todetermine the angular position of the at least one object using themachine learning.
 9. The smart device of claim 1, wherein theangle-estimation module includes at least one of the following: apartially-connected layer; a fully-connected layer; a convolutionallayer; a long short-term memory layer; or a pooling layer.
 10. The smartdevice of claim 1, further comprising: a frequency selection modulecoupled to the transceiver and configured to: select a frequencysub-spectrum; and cause the transceiver to transmit the radar signalusing the frequency sub-spectrum, wherein the angle-estimation module isconfigured to resolve angular ambiguities in the beamforming data basedon the frequency sub-spectrum to generate the angular probability data.11. The smart device of claim 10, wherein: the frequency selectionmodule is further configured to: select a single frequency sub-spectrum;or select at least two frequency sub-spectrums; and the digitalbeamformer is configured to: generate a spatial response based on thesingle frequency sub-spectrum; or generate a phase coherence map basedon the at least two frequency sub spectrums.
 12. The smart device ofclaim 1, wherein the beamforming data comprises at least one of thefollowing: a spatial response comprising amplitude and phase informationfor a set of angles and ranges; or a phase coherence map comprisingphase information of a complex coherence between a pair of spatialresponses associated with a frequency sub-spectrum.
 13. A methodcomprising: transmitting and receiving a radar signal via an antennaarray, the radar signal reflected by at least one object; generatingbeamforming data based on the received radar signal; analyzing thebeamforming data using a regression model associated with machinelearning to determine a probability distribution of an angular positionof the at least one object across two or more angular bins, theprobability distribution comprising values between 0% and 100% acrossthe two or more angular bins; and determining, based on the probabilitydistribution, that an angular bin of the two or more angular bins isassociated with the angular position of the at least one object.
 14. Themethod of claim 13, wherein: the two or more angular bins include afirst angular bin and a second angular bin; the beamforming dataincludes at least two amplitude peaks that are representative of theangular position of the at least one object and an angular ambiguity ofthe at least one object; and the analyzing of the beamforming datacomprises generating the probability distribution such that the firstangular bin associated with the angular position of the at least oneobject has a higher probability than the second angular bin associatedwith the angular ambiguity of the at least one object.
 15. The method ofclaim 13, wherein: the at least one object comprises a first object anda second object; the two or more angular bins include a first angularbin, a second angular bin, and a third angular bin; the beamforming dataincludes at least three amplitude peaks that are representative of afirst angular position of the first object, a second angular position ofthe second object, and an angular ambiguity associated with the firstobject; the analyzing of the beamforming data comprises generating theprobability distribution such that both a first angular bin associatedwith the first angular position of the first object and a second angularbin associated with the second angular position of the second objecthave higher probabilities than a third angular bin associated with theangular ambiguity of the first object; and the determining of theangular bin comprises determining that the first angular bin isassociated with the first object and that the second angular bin isassociated with the second object.
 16. The method of claim 13, furthercomprising: accepting, from one or more sensors, angular measurementdata associated with different angles to a user during a given timeperiod, the angular measurement data representing truth data; acceptingother beamforming data collected from one or more prior radar signalsreceived during the given time period, the other beamforming datarepresenting training data; executing a training procedure to determinemachine-learning parameters based on the training data and the truthdata; and generating the probability distribution using themachine-learning parameters.
 17. A computer-readable storage mediacomprising computer-executable instructions that, responsive toexecution by a processor, implement: an angle-estimation moduleconfigured to: accept beamforming data associated with a received radarsignal that is reflected by at least one object; and generate, using aregression model associated with machine learning, angular probabilitydata based on the beamforming data, the angular probability datacomprising a probability distribution of an angular position of the atleast one object, the probability distribution comprising values between0% and 100% across a set of angles; and a tracker module configured todetermine the angular position of the at least one object based on theprobability distribution.
 18. The computer-readable storage media ofclaim 17, wherein the computer-executable instructions, responsive toexecution by the processor, implement a machine-learned modulecomprising the angle-estimation module and the tracker module.
 19. Thecomputer-readable storage media of claim 18, wherein the machine learnedmodule includes a digital beamformer configured to generate thebeamforming data using the machine learning.
 20. The computer-readablestorage media of claim 17, wherein the angle-estimation module isconfigured to: accept, from one or more sensors, angular measurementdata associated with different angles to a user during a given timeperiod, the angular measurement data representing truth data; acceptother beamforming data associated with at least one other radar signalthat is received during the given time period, the beamforming datarepresenting training data; execute a training procedure to determinemachine-learning parameters based on the training data and the truthdata; and generate the angular probability data using themachine-learning parameters.